// ml:run = $bin < input
#include <iostream>
#include <cstring>
#include <algorithm>
#include <queue>
using namespace std;
long long inf =1LL<<60;
struct note{
    int v;
    long long w;
    note () {}
    note (int v, long long w) :v(v), w(w) {}
}p[2000010];
struct node{
    int v;
    long long d;
    node () {}
    node (int v, long long d) :v(v), d(d) {}
    bool operator<(const node a)const{
        return d>a.d;
    }
};
long long dis[2][2000010];
int ne[2000010], head[2000010], vis[2000010];
int n, m, e;
void init(){
    e=0;
    memset(head, -1, sizeof(head));
}
void addnote(int u, int v, long long w){
    p[e]=note(v, w);
    ne[e]=head[u];
    head[u]=e++;
}
void dij(int src, int com){
    priority_queue<node>q;
    for (int i=1;i<=n+m;i++)dis[com][i]=inf;
    memset(vis, 0, sizeof(vis));
    q.push(node(src, 0));
    while(!q.empty()){
        while(!q.empty()&&vis[q.top().v]) q.pop();
        if (q.empty()) break;
        node tmp=q.top();
        q.pop();
        vis[tmp.v]=1;
        for (int i=head[tmp.v];i+1;i=ne[i])
            if (dis[com][p[i].v]>tmp.d+p[i].w){
                dis[com][p[i].v]=tmp.d+p[i].w;
                q.push(node(p[i].v, dis[com][p[i].v]));
            }
    }
}
int main()
{
    int t;
    scanf("%d", &t);
    for (int TT=1;TT<=t;TT++){
        printf("Case #%d: ", TT);
        scanf("%d%d", &n, &m);
        init();
        for (int i=1;i<=m;i++){
            int k, u;
            long long w;
            scanf("%lld%d",&w,  &k);
            for (int j=0;j<k;j++){
                scanf("%d", &u);
                addnote(u,n+i, w);
                addnote(n+i, u, w);
            }
        }
        dij(1, 0);
        dij(n, 1);
        long long mn=inf;
        for (int i=1;i<=n;i++)
            mn=min(mn, max(dis[0][i], dis[1][i]));
        if (mn==inf)
            printf("Evil John\n");
        else{
            printf("%lld\n",mn/2);
            int f=0;
            for (int i=1;i<=n;i++)
                if (max(dis[0][i], dis[1][i])==mn){
                    if (f) printf(" ");
                    printf("%d", i);
                    f=1;
                }
            printf("\n");
        }
    }
    return 0;
}

